import { storyStatus, reviewer, storySource } from '@/utils/data';
import { Button, Row } from 'antd';
import StoryStatus from '@/pages/storyManage/components/storyStatus';

export const columns = (handleOperation) => [
  // {
  //   title: '需求id',
  //   dataIndex: 'id',
  //   width: '200px',
  // },
  {
    title: '需求名称',
    dataIndex: 'name',
    align: 'left',
    width: '200px',
    fixed: 'left',
    render: (text, record) => {
      return record.source === 'tapd' ? (
        <a href={`https://www.tapd.cn/41194427/prong/stories/view/${String(record.id)}`} target="_blank" className="story-name-overflow tableTitle">
          {text}
        </a>
      ) : (
        // eslint-disable-next-line no-script-url
        <a href="#">{text}</a>
      );
    },
  },
  {
    title: '需求状态',
    align: 'center',
    dataIndex: 'status',
    width: '250px',
    render: (text) => <StoryStatus status={text} />,
  },
  {
    title: '需求来源',
    dataIndex: 'source',
    align: 'center',
    width: '100px',
    render: (text) => <span>{storySource[text] || 'tapd'}</span>,
  },
  {
    title: '需求创建时间',
    align: 'center',
    dataIndex: 'created',
    width: '200px',
  },
  // {
  //   title: '开发状态',
  //   dataIndex: 'develop_status',
  //   render(text) {
  //     const res = developStatus.filter((item) => item.value === text)[0];
  //     if (res) {
  //       return <span>{res.label}</span>;
  //     }
  //     return <span>-</span>;
  //   },
  // },
  {
    title: '代码查验人',
    align: 'center',
    dataIndex: 'reviewer',
    width: '150px',
    render(text) {
      if (Array.isArray(text)) {
        const res = reviewer.filter((item) => text.includes(item.value));
        if (res.length) {
          return <span>{res.map((item) => item.label).join(',')}</span>;
        }
      }
      return <span>-</span>;
    },
  },
  {
    title: '查验状态',
    align: 'center',
    dataIndex: 'relation_projects',
    width: '100px',
    render(text, record) {
      const res = (record.relation_projects || []).filter((item) => item.type !== 2);
      if (res.length) {
        const total = res.length;
        let count = 0;
        for (let i = 0; i < res.length; i += 1) {
          if (res[i].review_status === 2) {
            count += 1;
          }
        }
        return <span>{`${count}/${String(total)}`}</span>;
      }
      return <span>-</span>;
    },
  },
  // {
  //   title: '发布状态',
  //   dataIndex: 'publish_status',
  //   render(text) {
  //     const res = publishStatus.filter((item) => item.value === text)[0];
  //     if (res) {
  //       return <span>{res.label}</span>;
  //     }
  //     return <span>-</span>;
  //   },
  // },
  // {
  //   title: '开始时间',
  //   dataIndex: 'start_time',
  // },
  // {
  //   title: '预计提测时间',
  //   dataIndex: 'expect_test_time',
  // },
  // {
  //   title: '实际提测时间',
  //   dataIndex: 'real_test_time',
  // },
  // {
  //   title: '预计上线时间',
  //   dataIndex: 'expect_online_time',
  // },
  // {
  //   title: '实际上线时间',
  //   dataIndex: 'real_online_time',
  // },
  {
    title: '开发开始日期',
    align: 'center',
    dataIndex: 'develop_start_time',
    width: '150px',
  },
  {
    title: '联调日期',
    align: 'center',
    dataIndex: 'develop_uniting',
    width: '120px',
  },
  {
    title: '可发灰度日期',
    dataIndex: 'gray_time',
    width: '120px',
    align: 'center',
  },
  {
    title: '验收日期',
    dataIndex: 'check_time',
    width: '120px',
    align: 'center',
  },
  // {
  //   title: '期望上线时间',
  //   dataIndex: 'excpect_online_time',
  //   width: '150px',
  // },
  // {
  //   title: '当前时间',
  //   dataIndex: 'custom_field_22',
  // },
  {
    title: '提测日期',
    dataIndex: 'submit_test_time',
    width: '120px',
    align: 'center',
  },
  {
    title: '上线日期',
    dataIndex: 'online_time',
    width: '120px',
    align: 'center',
  },
  // {
  //   title: '提测环境',
  //   dataIndex: 'test_env',
  //   width: '150px',
  // },
  {
    title: '技术Owner',
    dataIndex: 'develop_owner',
    width: '150px',
    align: 'center',
    render: (text) => {
      return <span>{Array.isArray(text) ? text.join(',') : ''}</span>;
    },
  },
  {
    title: '操作',
    width: '130px',
    dataIndex: 'edit',
    fixed: 'right',
    render: (text, record) => (
      <>
        {/* <Button onClick={() => handleOperation('delete', record)} type="link" danger>
          删除
        </Button> */}
        {/* 1.0.5用户排期加：任意状态都可编辑 */}
        {/* {record.status !== 'status_5' && ( */}
        <Row>
          <Button onClick={() => handleOperation('edit', record)} type="link" style={{ padding: '4px 0', marginRight: '10px' }}>
            编辑
          </Button>
          {/* <Button onClick={() => handleOperation('status', record)} type="link">
              调整状态
            </Button> */}
          {record.status !== 'status_5' && (
            <Button onClick={() => handleOperation('relation', record)} type="link" style={{ padding: '4px 0' }}>
              关联项目
            </Button>
          )}
        </Row>
        {/* )} */}
      </>
    ),
  },
];

export default {};
